#-*- coding: utf-8 -*-

'''
autor1: João Reis, Nº5236
autor2: Miguel Romão, Nº5513
data: 9 de Novembro 2013
obs: Escrita das estatísticas em ficheiro '.csv'
'''

import csv
import os

class CriarCSV:
	'''
		Esta classe contém as funções que criam os ficheiros '.csv' para cada 
		estatística.
	'''

	def __init__(self):
		if not os.path.exists('csv_estatisticas'):
			os.makedirs('csv_estatisticas')

	def criar_csv_estatistica_1(self, lista_inst_col):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre o número de alunos colocados por instituição.

			Args:
					lista_inst_col: lista de grupos compostos por 
					número da instituição, nome da instituição e o número de 
					alunos colocados por instituição.
		'''
		
		ficheiro_csv = open('csv_estatisticas/primeira_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_inst_col)):
			linha = []
			linha.append(lista_inst_col[x][0])
			linha.append(lista_inst_col[x][1])
			linha.append(lista_inst_col[x][2])
			escritor.writerow(linha)

			del linha
		
		ficheiro_csv.close()


	def criar_csv_estatistica_2(self, lista_dist_col):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre o número de alunos colocados por distrito.

			Args:
					lista_dist_col: lista de pares compostos por nome do distrito 
					e número de alunos colocados por distrito.
		'''
		
		ficheiro_csv = open('csv_estatisticas/segunda_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_dist_col)):
			linha = []
			linha.append(lista_dist_col[x][0])
			linha.append(lista_dist_col[x][1])
			escritor.writerow(linha)
			
			del linha
			
		ficheiro_csv.close()
		
	def criar_csv_estatistica_3(self, lista_permilagem):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre a permilagem de alunos colocados por distrito.

			Args:
					lista_permilagem: lista de pares compostos por nome do 
					distrito e permilagem de alunos colocados por distrito.
		'''
		
		ficheiro_csv = open('csv_estatisticas/terceira_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_permilagem)):
			linha = []
			linha.append(lista_permilagem[x][0])
			linha.append(lista_permilagem[x][1])
			escritor.writerow(linha)
			
			del linha
			
		ficheiro_csv.close()	

	def criar_csv_estatistica_4(self, lista_inst_percentagem):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre a percentagem de alunos colocados por instituição.

			Args:
					lista_inst_percentagem: lista de pares compostos por nome da 
					instituição e a percentagem de alunos colocados por instituição.
		'''
		
		ficheiro_csv = open('csv_estatisticas/quarta_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_inst_percentagem)):
			linha = []
			linha.append(lista_inst_percentagem[x][0])
			linha.append(lista_inst_percentagem[x][1])
			escritor.writerow(linha)
			
			del linha
			
		ficheiro_csv.close()
		
	def criar_csv_estatistica_5(self, lista_inst_vagas):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre o número de vagas por colocar por instituição.

			Args:
					lista_inst_vagas: lista de pares compostos por número da 
					instituição, o nome da instituição e o número de vagas 
					sobrantes por instituição.
		'''
		
		ficheiro_csv = open('csv_estatisticas/quinta_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_inst_vagas)):
			linha = []
			linha.append(lista_inst_vagas[x][0])
			linha.append(lista_inst_vagas[x][1])
			linha.append(lista_inst_vagas[x][2])
			escritor.writerow(linha)
			
			del linha
			
		ficheiro_csv.close()
		
	def criar_csv_estatistica_6(self, lista_dist_vagas):
		'''
			Função que cria o ficheiro '.csv' para a estatística
			sobre o número de vagas por colocar por distrito.

			Args:
					lista_dist_vagas: lista de pares compostos por nome do 
					distrito e o número de vagas sobrantes por distrito.
		'''
		
		ficheiro_csv = open('csv_estatisticas/sexta_estatistica.csv', 'wb')
		escritor = csv.writer(ficheiro_csv, delimiter = ';')

		for x in xrange(len(lista_dist_vagas)):
			linha = []
			linha.append(lista_dist_vagas[x][0])
			linha.append(lista_dist_vagas[x][1])
			escritor.writerow(linha)
			
			del linha
			
		ficheiro_csv.close()
